# python 基础综合案例
# 数据可视化

# JSON——JSON是一种轻量级的数据交互格式.可以按照JSON指定的格式取组织和封装数据
# JSON本质是一个带有特定格式的字符串
# 主要功能:json 就是一种在各种编程语言中流通的数据格式,负责不同编程语言中的数据传递和交互.
# json 数据格式可以是字典和列表（列表内部需要嵌套字典）
# python 数据和JSON数据的相互转化
# 导入 json 模块—— import json
# 准备符合格式 json 格式要求的 python 数据
# 通过 json.dumps(data) 方法把 python 数据转化为了 json 数据
# 通过 json.loads(data) 方法把 json 数据转化为了 python 数据

# 演示 JSON 数据和 python 字典的相互转换
import json
# 准备列表，列表内每一个元素都是字典，将其转化为 JSON
data = [{"name":"白","age":13},{"name":"锤","age":12},{"name":"水","age":11}]
json_str = json.dumps(data,ensure_ascii=False)  # ensure_ascii = False 参数用来显示中文
print(f"json_str的类型是:{type(json_str)},内容是:{json_str}")
# 准备字典，将字典转换为 JSON
dict_data = {"name":"米","age":15}
json_dict = json.dumps(dict_data,ensure_ascii=False)
print(f"json_dict的类型是:{type(json_dict)},内容是:{json_dict}")
# 将 JSON 字符串转换为 python 数据类型
s = '[{"name":"白","age":13},{"name":"锤","age":12},{"name":"水","age":11}]'
list_s = json.loads(s)
print(f"list_s的类型是:{type(list_s)},内容是:{list_s}")
s = '{"name":"米","age":15}'
dict_s = json.loads(s)
print(f"dict_s的类型是:{type(dict_s)},内容是:{dict_s}")

